package com.base.service.system.menu;

import java.util.List;

import com.base.entity.system.Menu;
import com.base.util.PageData;

public interface MenuService {

	// 新增菜单
	public void addMenu(Menu newMenu) throws Exception;

	// 根据ID更新菜单
	public void updateMenuById(Menu newMenu) throws Exception ;

	// 根据菜单ID列出它的子菜单
	public List<Menu> listMenuByParentId(int parentId) throws Exception;

	// 根据菜单ID修改菜单信息
	public void editMenuById(Menu menu) throws Exception ;

	// 根据顶级菜单ID修改菜单图片
	public void editMenuIconById(Menu menu) throws Exception;

	// 找到当前最大的MENU的ID
	public Integer findMaxMenuId() throws Exception;

	// 根据菜单ID找到该菜单
	public Menu findMenuByMenuId(int menu_id) throws Exception;

	public void deleteMenuById(String menuId) throws Exception;

	public PageData getMenuById(PageData pd) throws Exception;

	// 取最大id
	public PageData findMaxId(PageData pd) throws Exception ;

	public List<Menu> listAllParentMenu() throws Exception;

	public void saveMenu(Menu menu) throws Exception ;
	
	public List<Menu> listSubMenuByParentId(String parentId) throws Exception ;

	public List<Menu> listAllMenu() throws Exception ;

	public List<Menu> listAllSubMenu() throws Exception;
	/**
	 * 编辑
	 */
	public PageData edit(PageData pd) throws Exception;

	/**
	 * 保存菜单图标 (顶部菜单)
	 */
	public PageData editicon(PageData pd) throws Exception ;

	/**
	 * 更新子菜单类型菜单
	 */
	public PageData editType(PageData pd) throws Exception ;
}
